//////////////////////
/// mkIII - Engine ///
//////////////////////

#pragma once

// Base includes
#include "../../Base/mkBaseDeclare.h"

// Core includes
#include "../../Core/COM/Independent/mkInterface.h"

namespace mk
{
namespace Engine
{
namespace Rendering
{

// Forward declare.
class IRenderSystem;

// Pointer typedefs.
std::unique_ptr<IRenderSystem> IRenderSystemPtr;

// Interface GUIDs.
#define MK_IID_RENDER_SYSTEM 0x00000000

// Create the RenderSystem.
Errno CreateRenderSystem( IRenderSystemPtr& renderSystem ) MK_NOEXCEPT;

} // namespace Rendering
} // namespace Engine
} // namespace mk

